<?php
class adminbenutzer {
	protected $benutzer;
	protected $passwort;
	protected $mysqli;
	protected $mysqliresult;
	protected $key;
	
	function __construct($mysqli) {
		$this->mysqli = $mysqli;
	}
	
	// Saeubert Eingaben des Benutzers (Schutz gegen SQL-Injections und Verschluesselung des Passworts)
	function einloggen($user, $pw) {
		$this->benutzer = mysql_escape_string(stripslashes($user));
		$this->passwort = mysql_escape_string(stripslashes($pw));
		
		$this->key = sha1(sicherheit::ADMINKEY);
		$salt = sha1(md5($this->passwort)).$this->key;
		$this->passwort = md5($this->passwort).$salt;

		// Fuehrt Stored Function admincheck() auf MySQL-Server aus
		$result = $this->mysqli->query('SELECT admincheck("'.$this->benutzer.'", "'.$this->passwort.'");');
		$row = $result->fetch_row();
		if ($row[0] == $this->benutzer) {
			$ausgabe['nachricht'] = Language::LANG_LOGIN_SUCCESSFUL;
			$ausgabe['titel'] = "Login";
			$ausgabe['typ'] = "positiv";
			
			// Speicherung, dass der Benutzer eingeloggt ist
			for ($i = 0; $i < strlen($row[0]); $i++) {
				$zahlen[$i] = ord(substr($row[0],$i,1));
			}
			$_SESSION['LOGGEDBEN'] = implode($zahlen);
			$_SESSION['benutzer'] = $row[0]; 
		}
		else {
			$ausgabe['nachricht'] = Language::LANG_LOGIN_UNSUCCESSFUL;
			$ausgabe['titel'] = "Login";
			$ausgabe['typ'] = "negativ";
		}
		
		return $ausgabe;
	}
	
	function eingeloggt() {
		if(!empty($_SESSION['LOGGEDBEN']) AND is_numeric($_SESSION['LOGGEDBEN'])) {
			return true;
		}
	}
}